#include "Order.h"
#include <string>
using namespace std;

//Default constructor
Order::Order(){
	desert = "";
	f_course ="";
	m_course = "";
	beverage = "";
}
//Destructor
Order::~Order(){}
//Constructor
Order::Order(const string fc,const string mc,const string des,const string bev) {
	desert = des;
	m_course = mc;
	beverage = bev;
	f_course = fc;
}
//Operator '=' Overloading
const Order& Order::operator=(const Order& o) { 
	if (this!=&o) { 
		this->assign(o);
	}
	return *this;
}
//This function will be used for the = overloading
const Order& Order::assign(const Order& o) {
	f_course = o.f_course;
	this->desert = o.desert;
	this->beverage = o.beverage;
	this->m_course = o.m_course;
	//this->guestNum = g.guestNum;
	return *this;
}
/*--------------------------------Beverage Code--------------------------------------------*/
//sets the guest's beverage
const void Order:: setBeverage(const string newbev) {
	beverage = newbev;
}
//erases the guest's beverage
const void Order::eraseBeverage() {
	setBeverage("");
}
//returns the guest's beverage
const string Order::getBeverage() const { 
	return beverage;
}
/*--------------------------------First Course Code--------------------------------------------*/
//sets the guest's first course
const void Order::setFirstCourse(const string newfc) {
	f_course = newfc;
}
//erases the guest's first course
const void Order:: eraseFirstCourse() {
	setFirstCourse("");
}
//returns the guest's first course
const string Order::getFirstCourse() const { 
	return f_course;
}
/*--------------------------------Main Course Code--------------------------------------------*/
//sets the guest's main course
const void Order:: setMainCourse(const string newmc) {
	m_course = newmc;
}
//erases the guest's main course
const void Order:: eraseMainCourse() {
	setMainCourse("");
}
//returns the guest's main course
const string Order::getMainCourse() const { 
	return m_course;
}

/*--------------------------------Desert Code--------------------------------------------*/
//returns the guest's desert
const void Order:: setDesert(const string des) {
	desert=des;
}
//erases the guest's desert
const void Order:: eraseDesert() {
	setDesert("");
}
//returns the guest's desert
const string Order::getDesert() const { 
	return desert;
}
/*----------------------------------------------------------------------------------------*/
